<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link rel="stylesheet" type="text/css" href="html.css" />
    <title>Related projects</title>
  </head>
  <body class="main">
    <h1>Related projects</h1>

<ul>
<li><p> 
    <a href="http://www.mathlibre.org/" target="rela">MathLibre</a> 
    is a project to archive free mathematical software and free
    mathematical documents and offer them on Live Linux system. You can
    experience a wonderful world of opensource mathematical software
    systems.
    </p>
</li>
</ul>


<h2>Computer Algebra Systems using Java</h2>

<ul>
<li><p> 
    <a href="https://github.com/rjolly/scas" target="scas">ScAS</a> is
    a computer algebra system developed in Scala. Scala has some more
    features than Java to optimally support the implementation of a
    computer algebra system. The basic structure of ScAS is developed
    in cooperation with the basic structure of JAS, see the
    co-authored papers in the <a href="intro.html#docu"
    target="main">Documentation</a> section. ScAS is also a successor
    of jscl-meditor.
    </p>
</li>
<li><p>
    <a href="http://jscl-meditor.sourceforge.net/" target="rela">jscl-meditor</a>
    Java symbolic computing library and mathematical editor.
    The goal of this project is to provide a Java symbolic computing library 
    and a mathematical editor acting as a front-end to the former. 
    There are several computer algebra systems available on the market, 
    most of them developed in other languages, mainly C/C++ and Lisp. 
    But the benefits of using Java in symbolic computation are great. 
    Aside from being widely used and to comply with various standards, 
    this language has two features of concern: readability and portability.
    </p>
</li>
<li><p>
    <a href="http://code.google.com/p/symja/" target="rela">Symja</a> -
    a symbolic math system written in Java based on the MathEclipse, JAS,
    Apache Commons Math, Apfloat, Rubi and other libraries.
    Features: arbitrary precision integers, rationals and complex numbers, 
    polynomials, differentiation, integration, pattern matching and linear
    algebra. Its symbolic parser can handle Mathematica like expressions.
    Symja features a web application 
    <a href="http://symjaweb.appspot.com/" target="rela">Symja-Web</a> 
    and an optimized library for Android 
    <a href="https://bitbucket.org/axelclk/symja_android_library">Symja_Android_Library</a>.
    </p>
</li>
<li><p>
    <a href="http://www.matheclipse.org" target="rela">MathEclipse</a>
    is a Java Computer Algebra system. MathEclipse has functions for 
    arbitrary-precision integer arithmetic, matrices, vectors, finite sets, 
    derivatives, pattern-matching rewriting rules and functional programming.
    </p>
</li>
<li><p> 
    <a href="http://www.geogebra.org" target="rela">GeoGebra</a>
    is dynamic mathematics software for all levels of education that joins
    arithmetic, geometry, algebra and calculus. On the one hand, GeoGebra
    is an interactive geometry system. You can do constructions with
    points, vectors, segments, lines, conic sections as well as functions
    and change them dynamically afterwards. On the other hand, equations
    and coordinates can be entered directly. Thus, GeoGebra has the
    ability to deal with variables for numbers, vectors and points, finds
    derivatives and integrals of functions and offers commands like Root
    or Extremum. These two views are characteristic of GeoGebra: an
    expression in the algebra view corresponds to an object in the
    graphics view and vice versa.
    </p>
</li>
<li><p> 
    <a href="http://www.mathpiper.org" target="rela">MathPiper</a>
    is a new mathematics-oriented programming language which is simple
    enough to be learned as a first programming language and yet powerful
    enough to be useful in any science, mathematics, or engineering
    related career.  MathPiper is also a Computer Algebra System (CAS)
    which is similar in function to the CAS which is included in the TI 89
    and TI 92 calculators.
    </p>
</li>
<li><p> 
    <a href="http://webuser.hs-furtwangen.de/~dersch/" target="rela">Jasymca</a>: 
    Programmable Java calculator. CAS (Computer Algebra System), 
    provides exact and symbolic datatypes, interactive graphics display of functions. 
    The user interface can be selected from either a Matlab/Octave/SciLab-style, 
    or a GNU-Maxima-style. 
    Runs on any Java SE- and ME-platform: Windows, MacOS, Linux, Cellphone, PDA and others.
    </p>
</li>
<li><p> 
    <a href="http://woody.cs.wichita.edu/gex/gex.html" target="rela">JGEX</a>: 
    Java Geometry Expert is an ongoing developing system which initially began in 
    early 2004 in Wichita State Univerisity. JGEX is a system which combines 
    our approach for visually dynamic presentation of proofs (VDDP), 
    dynamic geometry software (DGS), automated geometry theorem prover (GTP).
    The VDDP part is the most distinctive part of JGEX. It is based on our work 
    on DGS and GTP. JGEX can be used to create proofs either manually and automatically. 
    It provides a seris of visual effects for presenting of these proofs. 
    With the applet version of JGEX, the user may create beautiful examples 
    and put them on the web to share with others
    </p>
</li>
<li><p> 
    <a href="http://jlinalg.sourceforge.net/" target="rela">JLinAlg</a> 
    is an open source and easy-to-use Java-library for linear algebra that
    is licensed under the GNU General Public License (GPL). 
    </p>
</li>
<li><p> 
    The <a href="http://commons.apache.org/math/" target="rela" 
           >Apache Commons Mathematics Library</a> is a library of
    lightweight, self-contained mathematics and statistics components
    addressing the most common problems not available in the Java
    programming language or Commons Lang.
    </p>
</li>
<li><p> 
    <a href="http://java.symcomp.org/" target="rela">java.symcomp.org</a> 
    Java Library for 
    <a href="http://www.symbolic-computation.org/scscp" target="rela">SCSCP</a> 
    and <a href="http://www.openmath.org" target="rela">OpenMath</a>.  
    The libraries 
    <a href="http://java.symcomp.org/#openmath" target="rela"><tt>org.symcomp.openmath</tt></a> 
    and <a href="http://java.symcomp.org/#scscp" target="rela"><tt>org.symcomp.scscp</tt></a> 
    were developed in the
    <a href="http://www.symbolic-computation.org" target="rela">SCIEnce Project</a>, 
    an Integrated Infrastructure Initiative, funded by the European Commission 
    under the Research Infrastructures Action of Framework 6. 
    <a href="http://java.symcomp.org/wupsi.html" target="rela">WUPSI</a>
    is a Universal Popcorn SCSCP Interface - The SCSCP Swiss Army Knife.
    </p>
</li>
<li><p> The
    <a href="http://symbolaris.com/orbital/" target="rela">Orbital Library</a>
    is a Java class library providing object-oriented representations 
    and algorithms for logic, mathematics, and artificial intelligence. 
    It comprises theorem proving, computer algebra, search and planning, 
    as well as machine learning algorithms. 
    </p>
</li>
<li><p>
    <a href="http://redberry.cc/" target="rela">Redberry</a>
    is an open source Java framework providing capabilities for manipulation
    with tensors. The framework contains wide spectrum of algorithms required
    by tensor algebra. It is designed to find analytical solutions of
    complicated mathematical and physical problems. 
    </p>
</li>
<li><p>
    <a href="http://www.apfloat.org/" target="rela">Apfloat</a> is a 
    high performance arbitrary precision arithmetic library. You can perform 
    calculations with a precision of millions of digits with it. It's 
    as simple to use as Java's <code>BigDecimal</code> or 
    <code>BigInteger</code> classes, but performs a lot better with extreme 
    precision numbers (more than a few hundred digits). Also, a full suite
    of mathematical functions for arbitrary precision numbers are available: 
    all those existing in <code>java.lang.Math</code> and more.
    </p>
</li>
<li><p>
    <a href="http://jscience.org/" target="rela">Jscience</a>
    is a set of Java Tools and Libraries for the Advancement of Sciences.
    The system is not limited to computer algebra.
    </p>
</li>
</ul>


<h2>Other Open Source Computer Algebra Systems</h2>

<ul>
<li><p>
    <a href="http://www.singular.uni-kl.de/" target="rela">Singular</a>
    is a Computer Algebra System for polynomial computations 
    with special emphasis on the needs of commutative algebra, 
    algebraic geometry, and singularity theory.
    </p>
</li>
<li><p>
    <a href="http://cocoa.dima.unige.it/" target="rela">CoCoA</a>
    Computations in Commutative Algebra.
    </p>
</li>
<li><p>
    <a href="http://www.math.kobe-u.ac.jp/Asir/" target="rela">Risa/Asir</a>
    is an open source general computer algebra system.
    </p>
</li>
<li><p>
    <a href="http://www.mathemagix.org/" target="rela">Mathemagix</a>
    is a free computer algebra and analysis system under development.
    Standard libraries are available for algebraic computation 
    (large numbers, polynomials, power series, matrices, etc. based 
    on FFT and other fast algorithms) for exact and approximate computation. 
    This should make Mathemagix particularly suitable as a bridge between 
    symbolic computation and numerical analysis. The packages are written in
    C++. They can both be used from the new compiler mmc, from the old 
    interpreter Mmx-light, or as standalone C++ libraries. 
    </p>
</li>
<li><p>
    <a href="http://pari.math.u-bordeaux.fr/" target="rela">Pari/GP</a>
    is a widely used computer algebra system designed for 
    fast computations in number theory (factorizations, algebraic number theory, 
    elliptic curves...), but also contains a large number of 
    other useful functions to compute with mathematical entities 
    such as matrices, polynomials, power series, algebraic numbers, etc., 
    and a lot of transcendental functions.
    </p>
</li>
<li><p>
    <a href="http://www.reduce-algebra.com/" target="rela">Reduce</a> is an
    interactive system for general algebraic computations of interest to
    mathematicians, scientists and engineers. It has been produced by a
    collaborative effort involving many contributors. Its capabilities include:
    expansion and ordering of polynomials and rational functions;
    substitutions and pattern matching in a wide variety of forms;
    automatic and user controlled simplification of expressions;
    calculations with symbolic matrices;
    arbitrary precision integer and real arithmetic;
    facilities for defining new functions and extending program syntax;
    analytic differentiation and integration;
    factorization of polynomials;
    facilities for the solution of a variety of algebraic equations;
    facilities for the output of expressions in a variety of formats;
    facilities for generating optimized numerical programs from symbolic input;
    calculations with a wide variety of special functions;
    Dirac matrix calculations of interest to high energy physicists.
    </p>
</li>
<li><p>
    <a href="http://www.flintlib.org/" target="rela">FLINT</a>
    is a C library for doing number theory.
    FLINT provides types and functions for computing over various 
    base rings. FLINT uses many new algorithms and is sometimes 
    orders of magnitude faster than other available software.
    FLINT is written in ANSI C and runs on many platforms, but is 
    currently mostly optimised for x86 and x86-64 architectures. 
    It is designed to be threadsafe. FLINT depends on the MPIR (GMP) 
    and MPFR libraries.
    </p>
</li>
<li><p>
    <a href="http://maxima.sourceforge.net/" target="rela">Maxima</a> is a system
    for the manipulation of symbolic and numerical expressions, including
    differentiation, integration, Taylor series, Laplace transforms,
    ordinary differential equations, systems of linear equations,
    polynomials, and sets, lists, vectors, matrices, and tensors. Maxima
    yields high precision numeric results by using exact fractions,
    arbitrary precision integers, and variable precision floating point
    numbers. Maxima can plot functions and data in two and three
    dimensions.
    </p>
</li>
<li><p>
    <a href="http://www.math.uiuc.edu/Macaulay2/" target="rela">Macaulay 2</a> is
    a software system devoted to supporting research in algebraic geometry
    and commutative algebra, whose creation has been funded by the
    National Science Foundation since 1992.
    Macaulay2 includes core algorithms for computing Gr&ouml;bner bases and
    graded or multi-graded free resolutions of modules over quotient
    rings of graded or multi-graded polynomial rings with a monomial
    ordering. The core algorithms are accessible through a versatile
    high level interpreted user language with a powerful debugger
    supporting the creation of new classes of mathematical objects and
    the installation of methods for computing specifically with
    them. Macaulay2 can compute Betti numbers, Ext, cohomology of
    coherent sheaves on projective varieties, primary decomposition of
    ideals, integral closure of rings, and more.
    </p>
</li>
<li><p>
    <a href="http://www.axiom-developer.org/" target="rela">Axiom</a> is a
    general purpose Computer Algebra system. It is useful for research and
    development of mathematical algorithms. It defines a strongly typed,
    mathematically correct type hierarchy. It has a programming language
    and a built-in compiler.  In 2007, Axiom was forked into two different
    open source projects: OpenAxiom, and FriCAS.  
    <br /> 
    <a href="http://sourceforge.net/projects/fricas/" target="rela">FriCAS</a>
    is an advanced computer algebra system. Its capabilities range 
    from calculus (integration and differentiation) to abstract algebra. 
    It can plot functions and has integrated help system.
    <br /> 
    <a href="http://www.open-axiom.org/" target="rela">OpenAxiom</a> is an open
    source platform for symbolic, algebraic, and numerical
    computations. It offers an interactive environment, an expressive
    programming language, a compiler, a large set of mathematical
    libraries of interest to researchers and practitioners of
    computational sciences.
    </p>
</li>
<li><p> 
    The <a href="http://krum.rz.uni-mannheim.de/mas/">Modula-2 Algebra
    System (MAS)</a> is an experimental computer algebra system,
    developed at the University of Passau. MAS combines imperative
    programming facilities with algebraic specification capabilities
    for design and study of algebraic algorithms. It contains a large
    library of implemented Groebner basis algorithms for nearly all
    algebraic structures where such methods exist. MAS further
    includes algorithms for real quantifier elimination, parametric
    real root counting, and for computing in (noncommutative)
    polynomial rings.
    <br />
    Starting point for the development of MAS was the requirement for
    a computer algebra system with an up to date language and design
    which makes the existing ALDES / SAC-2 algorithm libraries
    available. At this time there have been about 650 algorithms in
    ALDES / SAC-2 and additional 450 algorithms related to
    Gr&ouml;bner bases developed on top of ALDES / SAC-2. The tension
    of reusing existing software in an interactive environment with
    specification capabilities contributes most to the evolution of
    MAS.
    <br />
    The resulting view of the software has many similarities with the
    model theoretic view of algebra. The abstract specification
    capabilities are realized in a way that an interpretation in an
    example structure (a model) can be denoted. This means that is is
    not only possible to compute in term models modulo some congruence
    relation, but it is moreover possible to exploit an fast
    interpretation in some optimized (or just existing) piece of
    software. 
    <br />
    MAS is a predecessor to JAS with respect to the main
    concepts, however JAS was rewritten from scratch.
    </p>
</li>
<li><p>More <a href="http://www.opensourcemath.org/opensource_math.html" target="rela"
               >open source mathematical programs</a>.
    </p>
</li>
<li><p><!--a href=""></a-->to be continued
    </p>
</li>
</ul>


<h2>Computer Algebra Systems using other Object Oriented Programing Languages</h2>

<ul>
<li><p>
    <a href="http://www.sagemath.org/" target="rela">Sage</a>
    is an Open Source Mathematics Software
    creating a viable free open source alternative to
    Magma, Maple, Mathematica, and Matlab. 
    Sage is written in Python and Cython as an interface to 
    other open source CAS Singular, PARI/GP, GAP, gnuplot, Magma, and Maple.
    </p>
</li>
<li><p>
    <a href="http://code.google.com/p/sympy/" target="rela">SymPy</a>
    is a Python library for symbolic mathematics. 
    It aims to become a full-featured computer algebra system (CAS) 
    while keeping the code as simple as possible in order 
    to be comprehensible and easily extensible. 
    SymPy is written entirely in Python and does not require any external libraries.
    </p>
</li>
<li><p>
    <a href="http://www.ginac.de/" target="rela">GiNaC</a>
    has been developed to become a replacement engine for xloops which 
    in the past was powered by the Maple CAS. Its design is revolutionary 
    in a sense that contrary to other CAS it does not try to 
    provide extensive algebraic capabilities and a simple programming language 
    but instead accepts a given language (C++) and extends it by a 
    set of algebraic capabilities.
    The name GiNaC is an iterated and recursive abbreviation for 
    GiNaC is Not a CAS, where CAS stands for Computer Algebra System. 
    </p>
</li>
<li><p>
    <a href="http://www.aei.mpg.de/~peekas/cadabra/" target="rela">Cadabra</a>
    is a computer algebra system (CAS) designed specifically for the 
    solution of problems encountered in field theory.
    It has extensive functionality for tensor polynomial simplification 
    including multi-term symmetries, fermions and anti-commuting variables, 
    Clifford algebras and Fierz transformations, implicit coordinate dependence, 
    multiple index types and many more. 
    The input format is a subset of TeX. 
    Both a command-line and a graphical interface are available.
    </p>
</li>
</ul>

    <hr />
<address><a name="contact" 
            href="mailto:kredel@at@rz.uni-mannheim.de">Heinz Kredel</a>
</address>
<p>
<!-- Created: Thu Aug 23 21:09:21 CEST 2007 -->
<!-- hhmts start -->
Last modified: Mon Jan  5 23:46:25 CET 2015
<!-- hhmts end -->
</p>
<!--p align="right" >
$Id$
</p-->
  </body>
</html>
